package com.shzu.jwc.ty.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SystemSelectcourseExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SystemSelectcourseExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSystemSelectcourseIdIsNull() {
            addCriterion("system_selectcourse_id is null");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdIsNotNull() {
            addCriterion("system_selectcourse_id is not null");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdEqualTo(Integer value) {
            addCriterion("system_selectcourse_id =", value, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdNotEqualTo(Integer value) {
            addCriterion("system_selectcourse_id <>", value, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdGreaterThan(Integer value) {
            addCriterion("system_selectcourse_id >", value, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("system_selectcourse_id >=", value, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdLessThan(Integer value) {
            addCriterion("system_selectcourse_id <", value, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdLessThanOrEqualTo(Integer value) {
            addCriterion("system_selectcourse_id <=", value, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdIn(List<Integer> values) {
            addCriterion("system_selectcourse_id in", values, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdNotIn(List<Integer> values) {
            addCriterion("system_selectcourse_id not in", values, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdBetween(Integer value1, Integer value2) {
            addCriterion("system_selectcourse_id between", value1, value2, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseIdNotBetween(Integer value1, Integer value2) {
            addCriterion("system_selectcourse_id not between", value1, value2, "systemSelectcourseId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdIsNull() {
            addCriterion("system_year_id is null");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdIsNotNull() {
            addCriterion("system_year_id is not null");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdEqualTo(Integer value) {
            addCriterion("system_year_id =", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdNotEqualTo(Integer value) {
            addCriterion("system_year_id <>", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdGreaterThan(Integer value) {
            addCriterion("system_year_id >", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("system_year_id >=", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdLessThan(Integer value) {
            addCriterion("system_year_id <", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdLessThanOrEqualTo(Integer value) {
            addCriterion("system_year_id <=", value, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdIn(List<Integer> values) {
            addCriterion("system_year_id in", values, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdNotIn(List<Integer> values) {
            addCriterion("system_year_id not in", values, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdBetween(Integer value1, Integer value2) {
            addCriterion("system_year_id between", value1, value2, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andSystemYearIdNotBetween(Integer value1, Integer value2) {
            addCriterion("system_year_id not between", value1, value2, "systemYearId");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumIsNull() {
            addCriterion("user_teacher_info_num is null");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumIsNotNull() {
            addCriterion("user_teacher_info_num is not null");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumEqualTo(String value) {
            addCriterion("user_teacher_info_num =", value, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumNotEqualTo(String value) {
            addCriterion("user_teacher_info_num <>", value, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumGreaterThan(String value) {
            addCriterion("user_teacher_info_num >", value, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumGreaterThanOrEqualTo(String value) {
            addCriterion("user_teacher_info_num >=", value, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumLessThan(String value) {
            addCriterion("user_teacher_info_num <", value, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumLessThanOrEqualTo(String value) {
            addCriterion("user_teacher_info_num <=", value, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumIn(List<String> values) {
            addCriterion("user_teacher_info_num in", values, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumNotIn(List<String> values) {
            addCriterion("user_teacher_info_num not in", values, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumBetween(String value1, String value2) {
            addCriterion("user_teacher_info_num between", value1, value2, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserTeacherInfoNumNotBetween(String value1, String value2) {
            addCriterion("user_teacher_info_num not between", value1, value2, "userTeacherInfoNum");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameIsNull() {
            addCriterion("system_selectcourse_name is null");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameIsNotNull() {
            addCriterion("system_selectcourse_name is not null");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameEqualTo(String value) {
            addCriterion("system_selectcourse_name =", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameNotEqualTo(String value) {
            addCriterion("system_selectcourse_name <>", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameGreaterThan(String value) {
            addCriterion("system_selectcourse_name >", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameGreaterThanOrEqualTo(String value) {
            addCriterion("system_selectcourse_name >=", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameLessThan(String value) {
            addCriterion("system_selectcourse_name <", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameLessThanOrEqualTo(String value) {
            addCriterion("system_selectcourse_name <=", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameLike(String value) {
            addCriterion("system_selectcourse_name like", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameNotLike(String value) {
            addCriterion("system_selectcourse_name not like", value, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameIn(List<String> values) {
            addCriterion("system_selectcourse_name in", values, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameNotIn(List<String> values) {
            addCriterion("system_selectcourse_name not in", values, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameBetween(String value1, String value2) {
            addCriterion("system_selectcourse_name between", value1, value2, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseNameNotBetween(String value1, String value2) {
            addCriterion("system_selectcourse_name not between", value1, value2, "systemSelectcourseName");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumIsNull() {
            addCriterion("user_student_info_num is null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumIsNotNull() {
            addCriterion("user_student_info_num is not null");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumEqualTo(String value) {
            addCriterion("user_student_info_num =", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotEqualTo(String value) {
            addCriterion("user_student_info_num <>", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumGreaterThan(String value) {
            addCriterion("user_student_info_num >", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumGreaterThanOrEqualTo(String value) {
            addCriterion("user_student_info_num >=", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumLessThan(String value) {
            addCriterion("user_student_info_num <", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumLessThanOrEqualTo(String value) {
            addCriterion("user_student_info_num <=", value, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumIn(List<String> values) {
            addCriterion("user_student_info_num in", values, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotIn(List<String> values) {
            addCriterion("user_student_info_num not in", values, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumBetween(String value1, String value2) {
            addCriterion("user_student_info_num between", value1, value2, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andUserStudentInfoNumNotBetween(String value1, String value2) {
            addCriterion("user_student_info_num not between", value1, value2, "userStudentInfoNum");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeIsNull() {
            addCriterion("systen_selectcourse_code is null");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeIsNotNull() {
            addCriterion("systen_selectcourse_code is not null");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeEqualTo(String value) {
            addCriterion("systen_selectcourse_code =", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeNotEqualTo(String value) {
            addCriterion("systen_selectcourse_code <>", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeGreaterThan(String value) {
            addCriterion("systen_selectcourse_code >", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeGreaterThanOrEqualTo(String value) {
            addCriterion("systen_selectcourse_code >=", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeLessThan(String value) {
            addCriterion("systen_selectcourse_code <", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeLessThanOrEqualTo(String value) {
            addCriterion("systen_selectcourse_code <=", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeLike(String value) {
            addCriterion("systen_selectcourse_code like", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeNotLike(String value) {
            addCriterion("systen_selectcourse_code not like", value, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeIn(List<String> values) {
            addCriterion("systen_selectcourse_code in", values, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeNotIn(List<String> values) {
            addCriterion("systen_selectcourse_code not in", values, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeBetween(String value1, String value2) {
            addCriterion("systen_selectcourse_code between", value1, value2, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystenSelectcourseCodeNotBetween(String value1, String value2) {
            addCriterion("systen_selectcourse_code not between", value1, value2, "systenSelectcourseCode");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameIsNull() {
            addCriterion("system_selectcourse_classname is null");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameIsNotNull() {
            addCriterion("system_selectcourse_classname is not null");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameEqualTo(String value) {
            addCriterion("system_selectcourse_classname =", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameNotEqualTo(String value) {
            addCriterion("system_selectcourse_classname <>", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameGreaterThan(String value) {
            addCriterion("system_selectcourse_classname >", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameGreaterThanOrEqualTo(String value) {
            addCriterion("system_selectcourse_classname >=", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameLessThan(String value) {
            addCriterion("system_selectcourse_classname <", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameLessThanOrEqualTo(String value) {
            addCriterion("system_selectcourse_classname <=", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameLike(String value) {
            addCriterion("system_selectcourse_classname like", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameNotLike(String value) {
            addCriterion("system_selectcourse_classname not like", value, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameIn(List<String> values) {
            addCriterion("system_selectcourse_classname in", values, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameNotIn(List<String> values) {
            addCriterion("system_selectcourse_classname not in", values, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameBetween(String value1, String value2) {
            addCriterion("system_selectcourse_classname between", value1, value2, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemSelectcourseClassnameNotBetween(String value1, String value2) {
            addCriterion("system_selectcourse_classname not between", value1, value2, "systemSelectcourseClassname");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeIsNull() {
            addCriterion("system_export_time is null");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeIsNotNull() {
            addCriterion("system_export_time is not null");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeEqualTo(Date value) {
            addCriterion("system_export_time =", value, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeNotEqualTo(Date value) {
            addCriterion("system_export_time <>", value, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeGreaterThan(Date value) {
            addCriterion("system_export_time >", value, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("system_export_time >=", value, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeLessThan(Date value) {
            addCriterion("system_export_time <", value, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeLessThanOrEqualTo(Date value) {
            addCriterion("system_export_time <=", value, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeIn(List<Date> values) {
            addCriterion("system_export_time in", values, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeNotIn(List<Date> values) {
            addCriterion("system_export_time not in", values, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeBetween(Date value1, Date value2) {
            addCriterion("system_export_time between", value1, value2, "systemExportTime");
            return (Criteria) this;
        }

        public Criteria andSystemExportTimeNotBetween(Date value1, Date value2) {
            addCriterion("system_export_time not between", value1, value2, "systemExportTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}